package util;

import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument;

/**
 *
 * @author Silvanei S
 */
public class NumberField extends PlainDocument{
    
    private int limit = 0;
    
    public NumberField(){
        super();
    }
    
    public NumberField(int limit){
        this.limit = limit;
    }
    
    @Override
     public void insertString(int offs, String str, AttributeSet a)
         throws BadLocationException {
               
         //normalmente apenas uma letra é inserida por vez,  
        //mas fazendo assim também previne caaso o usuário  
        //cole algum texto  
        for( int i = 0; i < str.length(); i++ )  
            if( Character.isDigit( str.charAt( i ) ) == false )  
                return;  
        
        if(limit > 0 && getLength() == limit)
            return;
        
        super.insertString( offs, str, a ); 
     }
}
